From: Isaku Yamahata Date: Wed, 7 Jan 2009 05:28:33 +0000 (+0900) Subject: [IA64] stub for XENMEM_[gs]et_pod_target. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14016 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=21887335cdd69cf4adef0f3702b6b22dabb19038;p=xen.git [IA64] stub for XENMEM_[gs]et_pod_target. This patch adds the stub for XENMEM_[gs]et_pod_target. Without this patch, domain builder aborts on the error. Signed-off-by: Isaku Yamahata --- diff --git a/xen/arch/ia64/xen/mm.c b/xen/arch/ia64/xen/mm.c index 4772749d1b..66336182fe 100644 --- a/xen/arch/ia64/xen/mm.c +++ b/xen/arch/ia64/xen/mm.c @@ -3437,6 +3437,45 @@ arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg) return 0; } + case XENMEM_get_pod_target: + case XENMEM_set_pod_target: { + /* XXX: PoD populate on demand isn't supported yet. */ + xen_pod_target_t target; + struct domain *d; + + /* Support DOMID_SELF? */ + if ( !IS_PRIV(current->domain) ) + return -EINVAL; + + if ( copy_from_guest(&target, arg, 1) ) + return -EFAULT; + + rc = rcu_lock_target_domain_by_id(target.domid, &d); + if ( rc != 0 ) + return rc; + + if ( op == XENMEM_set_pod_target ) + { + /* if -ENOSYS is returned, + domain builder aborts domain creation. */ + /* rc = -ENOSYS; */ + } + + target.tot_pages = d->tot_pages; + target.pod_cache_pages = 0; + target.pod_entries = 0; + + if ( copy_to_guest(arg, &target, 1) ) + { + rc= -EFAULT; + goto pod_target_out_unlock; + } + + pod_target_out_unlock: + rcu_unlock_domain(d); + return rc; + } + default: return -ENOSYS; }